package com.mes.basicdata.domain;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Where;

/**
 * <p>
 * 刀具
 * </p>
 * 
 * <p>
 * Created on Apr 6, 2008
 * </p>
 * 
 * @author lhy
 * 
 */
/**
 * @time 2017/3/16
 * @author SnowBear
 *
 */
@Entity()
@Table(name = "B_PART_NUMBER")
@Where(clause="part_number_type like '0601%'")
@BatchSize(size=10)
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class Cutter extends Tool implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
//	@Id
//	@GenericGenerator(name="toolUid", strategy="assigned")
	@Column(name = "PART_NUMBER",insertable=false, updatable=false)
	private String toolUid;
	public String getToolUid() {
		return toolUid;
	}

	public void setToolUid(String toolUid) {
		this.toolUid = toolUid;
	}

	// 直径
	@Column(name="DIAMETER",length=50)
	private String diameter;
	
	// 长度
	@Column(name="PART_LENGTH" ,length=50)
	private String cutterLength;
	
	// 角度/刀刃端齿倒角
	@Column(name="ANGLE" ,length=50)
	private String angle;
	
	// 刃长
	@Column(name="EDGELENGTH", length=50)
	private String edgeLength;
	
	// 刃数
	@Column(name="EDGENUM" ,length=50)
	private String edgeNumber;
	
	// 刀尖半径
	@Column(name="TINERADIUS" ,length=50)
	private String tineRadius;
	
	// 刀尖位置
	@Column(name="TINEPOSITION", length=50)
	private String tinePosition;
	
	// 刀杆直径
	@Column(name="BAR_DIAMETER", length=50)
	private String barDiameter;
	
	// 螺距
	@Column(name="PITCH" ,length=50)
	private String pitch;
	
	// 专用刀号
	@Column(name="LTOOLS_NUMBER", length=50)
	private String ltoolsNumber;
	
	// 刀刃端齿圆角
	@Column(name="EDGE_ANGLE", length=50)
	private String edgeAngle;
	
	// 刀柄形式
	@Column(name="LTOOLS_STYLE" ,length=50)
	private String ltoolsStyle;
	
	// 刀刃直径
	@Column(name="CUT_DIAMETER" ,length=50)
	private String cutDiameter;
	
	// 刀具装夹长度
	@Column(name="SHANK_LENGTH", length=50)
	private String shankLength;
	
	
	@Override
	public String getUuid() {
		return this.getToolUid();
	}

	@Override
	public void setUuid(String uuid) {
		this.setToolUid(uuid);
	}

	public String getDiameter() {
		return diameter;
	}

	public void setDiameter(String diameter) {
		this.diameter = diameter;
	}

	public String getCutterLength() {
		return cutterLength;
	}

	public void setCutterLength(String cutterLength) {
		this.cutterLength = cutterLength;
	}

	public String getAngle() {
		return angle;
	}

	public void setAngle(String angle) {
		this.angle = angle;
	}

	public String getEdgeLength() {
		return edgeLength;
	}

	public void setEdgeLength(String edgeLength) {
		this.edgeLength = edgeLength;
	}

	public String getEdgeNumber() {
		return edgeNumber;
	}

	public void setEdgeNumber(String edgeNumber) {
		this.edgeNumber = edgeNumber;
	}

	public String getTineRadius() {
		return tineRadius;
	}

	public void setTineRadius(String tineRadius) {
		this.tineRadius = tineRadius;
	}

	public String getTinePosition() {
		return tinePosition;
	}

	public void setTinePosition(String tinePosition) {
		this.tinePosition = tinePosition;
	}

	public String getBarDiameter() {
		return barDiameter;
	}

	public void setBarDiameter(String barDiameter) {
		this.barDiameter = barDiameter;
	}

	public String getPitch() {
		return pitch;
	}

	public void setPitch(String pitch) {
		this.pitch = pitch;
	}

	public String getLtoolsNumber() {
		return ltoolsNumber;
	}

	public void setLtoolsNumber(String ltoolsNumber) {
		this.ltoolsNumber = ltoolsNumber;
	}

	public String getEdgeAngle() {
		return edgeAngle;
	}

	public void setEdgeAngle(String edgeAngle) {
		this.edgeAngle = edgeAngle;
	}

	public String getLtoolsStyle() {
		return ltoolsStyle;
	}

	public void setLtoolsStyle(String ltoolsStyle) {
		this.ltoolsStyle = ltoolsStyle;
	}

	public String getCutDiameter() {
		return cutDiameter;
	}

	public void setCutDiameter(String cutDiameter) {
		this.cutDiameter = cutDiameter;
	}

	public String getShankLength() {
		return shankLength;
	}

	public void setShankLength(String shankLength) {
		this.shankLength = shankLength;
	}

}